home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 235 / 235.d81 / tomb of horror (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  18KB  |  438 lines

  1. 1 ifx=.thenx=1:d=peek(186):load"tomb.obj",d,1
  2. 2 poke56,144:poke55,0:clr
  3. 3 poke53280,.:poke53281,.:x=rnd(-ti):forx=901to970:reada:pokex,a:next
  4. 4 forx=828to839:reada:pokex,a:next:forx=679to753:reada:pokex,a:next:goto79
  5. 5 d=rnd(u)*g:pokes+k,u(d):pokes+7,v(d):pokes+g,u(d+k+f):pokes+g-u,v(d+k+f)
  6. 6 return
  7. 7 vl=fc:onfc+ugosub45,45,46,47,48
  8. 8 return
  9. 9 onfc+ugosub50,51,52,53:return
  10. 10 onfc+ugosub54,55,56:return
  11. 11 print"[144] +                                    / ";
  12. 12 print"  [146][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]  ";
  13. 13 print"  [146][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]  ";
  14. 14 print"  [146][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]  ";
  15. 15 print"  [146][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]  ";
  16. 16 print"  [146][160][160][160][160]"z$"([144]                          "z$")[144][146][160][160][160][160]  ";
  17. 17 print"  [146][160][160][160][160][160]"z$"([144]========================"z$")[144][160][146][160][160][160][160]  ";
  18. 18 print"  [146][160][160][160][160][160][160] +                    / [160][160][146][160][160][160][160]  ";
  19. 19 print"  [146][160][160][160][160][160][160]  [146][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]  [160][160][146][160][160][160][160]  ";
  20. 20 print"  [146][160][160][160][160][160][160]  [146][160][160]"z$"([144]=============="z$")[144][146][160][160]  [160][160][146][160][160][160][160]  ";
  21. 21 print"  [146][160][160][160][160][160][160]  [146][160][160][160]+            /[160][146][160][160]  [160][160][146][160][160][160][160]  ";
  22. 22 print"  [146][160][160][160][160][160][160]  [146][160][160][160] [146][160][160][160][160][160][160][160][160][160][160][160][160] [160][146][160][160]  [160][160][146][160][160][160][160]  ";
  23. 23 print"  [146][160][160][160][160][160][160]  [146][160][160][160] [146][160]"z$"([144]========"z$")[144][146][160] [160][146][160][160]  [160][160][146][160][160][160][160]  ";
  24. 24 print"  [146][160][160][160][160][160][160]  [146][160][160][160] [146][160][160] "z$"[146][166][173][173][173][173][192][144] [160][146][160] [160][146][160][160]  [160][160][146][160][160][160][160]  ";
  25. 25 print"  [146][160][160][160][160][160][160]  [146][160][160][160] [146][160][160] "z$"[146][255][144]    "z$"[146][223][144] [160][146][160] [160][146][160][160]  [160][160][146][160][160][160][160]  ";
  26. 26 print"  [146][160][160][160][160][160][160]  [146][160][160][160] [146][160][160] "z$"[146][255][144]    "z$"[146][223][144] [160][146][160] [160][146][160][160]  [160][160][146][160][160][160][160]  ";
  27. 27 print"  [146][160][160][160][160][160][160]  [146][160][160][160] [146][160]"z$"<[144]        "z$">[144][146][160] [160][146][160][160]  [160][160][146][160][160][160][160]  ";
  28. 28 print"  [146][160][160][160][160][160][160]  [146][160][160][160]/            +[160][146][160][160]  [160][160][146][160][160][160][160]  ";
  29. 29 print"  [146][160][160][160][160][160][160]  [146][160][160]"z$"<[144]              "z$">[144][146][160][160]  [160][160][146][160][160][160][160]  ";
  30. 30 print"  [146][160][160][160][160][160][160] /                    + [160][160][146][160][160][160][160]  ";
  31. 31 print"  [146][160][160][160][160][160][160]/                      +[160][160][146][160][160][160][160]  ";
  32. 32 print"  [146][160][160][160][160][160]"z$"<[144]                        "z$">[144][160][146][160][160][160][160]  ";
  33. 33 print"  [146][160][160][160][160]"z$"<[144]                          "z$">[144][146][160][160][160][160]  ";
  34. 34 print" /                                    + ";
  35. 35 printd$b$d$i$(dl(cl,t))tab(g+h)""d$(cd*-(cu=g))"[150]";
  36. 36 printtab(39-len(t$(dl(cl,u))))t$(dl(cl,u));:sysrl:return
  37. 37 print"[146]  ":forx=.to20:print"  ":next:return
  38. 38 print"[146]":forx=.to10:printtab(8)"  ":next:return
  39. 39 print"[146]";tab(13)" [157]";:forx=.tof:print" [157]";:next:return
  40. 40 print"";tab(16)" [157] [157] ":return
  41. 41 print"[146]":forx=.to21:printtab(39)chr$(20)chr$(32):next:return
  42. 42 print"[146]":forx=.to10:printtab(30)"  ":next:return
  43. 43 print"":forx=.to5:printtab(26)" ":next:return
  44. 44 print"[146]";tab(23)" [157] [157] ":return
  45. 45 print"[146]";:forx=.to17:printtab(6)w1$:next:return
  46. 46 print"[146]";:forx=.to9:printtab(12)w2$:next:return
  47. 47 print"[146]";:forx=.to5:printtab(15)w3$:next:return
  48. 48 print"[146]";:forx=.tot:printtab(17)w4$:next:return
  49. 49 return
  50. 50 print""tab(13)s1$;:return
  51. 51 print""tab(15)s2$;:return
  52. 52 print""tab(17)s3$;:return
  53. 53 print""tab(18)s4$;:return
  54. 54 print""tab(13)e1$:return
  55. 55 print""tab(15)e2$:return
  56. 56 print""tab(17)e3$:return
  57. 57 if(dl(cl,.)andb(f+h))=.then61
  58. 58 sb=peek(v+21):pokev+21,.:gosub273:gosub251:dl(cl,.)=(dl(cl,.)andg)
  59. 59 x=int(rnd(u)*10*(dl+u)):c$(1)="you take"+str$(x)+" hp damage!":aa=18:n=1
  60. 60 lf=lf-x:gosub257:gosub326:forx=.to2000:next:gosub288:pokev+21,sb
  61. 61 printd$tab(g+h)"move!";:cem=fnte(.):pokese,cem:gosub11:printz$;
  62. 62 fc=f:vl=fc:lv=cd-u+f*-(cd=u):rv=cd+u+f*(cd=f)
  63. 63 ebm=fncp(.):ifebm>.andebm<dethen65
  64. 64 fc=fc-u:on-(fc>-u)goto63:return
  65. 65 el=fncp(lv):er=fncp(rv):ifdl(ebm,.)then67
  66. 66 gosub7:fc=fc-u:onu-(fc<.)goto63,71
  67. 67 ifdl(el,.)andfc<fthenonfc+ugosub37,38,39,40
  68. 68 ifdl(er,.)andfc<fthenonfc+ugosub41,42,43,44
  69. 69 ford=.toh:if(dl(ebm,.)andb(d))thenondgosub9,10,7:printz$;
  70. 70 print"[146]";:next:fc=fc-u:iffc>-uthen63
  71. 71 gosub72:csm=fnsw(.):pokev+24,(peek(v+24)and15)orcsm:pokev+21,el:return
  72. 72 iffcandvlthenvl=vl-u
  73. 73 d=191:pokefnmp(u),d:pokefnmp(t),d:pokefnmp(h),d:pokefnmp(f+u),d
  74. 74 el=.:er=.:pokev+21,.:forx=vlto.step-u:fc=fncm(x):ifdl(fc,u)=.then78
  75. 75 fc=abs(dl(fc,u)-u):el=(elorsp(x+f))
  76. 76 mb=sp(x)-u:ford=utolen(sb$(x,fc)):pokefnmp(mb+d),asc(mid$(sb$(x,fc),d,u))
  77. 77 pokebc+sp(x)+d,cs(fc):next
  78. 78 next:sb=el:return
  79. 79 printchr$(147)chr$(8)chr$(142)"stand by....":gosub290:gosub298
  80. 80 dimdl(383,3),b(15),sp(7),sb$(3,12),d$(4),cs(12),l$(6),i(30),m(24),mh(24)
  81. 81 dimcm$(14),t$(13),i$(30),c$(30),c(30),m$(44),lv(2,2),cz$(2),h(8),sm$(8)
  82. 82 dimts(24),u(26),v(26)
  83. 83 fc=.:cl=17:cd=2:vl=.:el=.:er=.:vs=.:lf=20:m=.:w=.005:z=.94:wl=17
  84. 84 tl=388:tgl=16:csm=.:cem=192:de=383:v=53248:sb=.:rl=828:se=648:sr=679
  85. 85 u=1:t=2:h=3:f=4:k=8:g=15:joy=56320:dl=.:dm=.:ar=.:cu=.:we=.
  86. 86 s=54272:bc=v+38:ss=.:sc=.:cc=55296:sz=959:i=.
  87. 87 d(1)=1:d(2)=16:d(3)=-1:d(4)=-16
  88. 88 h(.)=1:h(1)=10:h(2)=2:h(3)=2:h(4)=1:h(5)=7:h(6)=3:h(7)=13:h(8)=5
  89. 89 sp(.)=.:sp(1)=4:sp(2)=6:sp(3)=7:sp(4)=15:sp(5)=48:sp(6)=64:sp(7)=128
  90. 90 d$(.)="  ?  ":d$(1)="east ":d$(2)="south":d$(3)="west ":d$(4)="north"
  91. 91 sm$(.)="\\":forx=1to8:sm$(x)=chr$(32)+chr$(32):next:cr$=chr$(13)
  92. 92 forx=.to38:w$=w$+chr$(160):b$=b$+chr$(32):mb$=mb$+"*":next
  93. 93 d$="[155][146]":forx=.to23:d$=d$+"":next
  94. 94 w1$=left$(w$,28):w2$=left$(w$,16):w3$=left$(w$,10):w4$=left$(w$,6)
  95. 95 s1$="[144])"+left$(w$,12)+"(":s2$="[144])"+left$(w$,8)+"("
  96. 96 s3$="[144])"+left$(w$,4)+"(":s4$="[144])"+left$(w$,2)+"("
  97. 97 e1$="[144]>"+left$(w$,12)+"<":e2$="[144]>"+left$(w$,8)+"<"
  98. 98 e3$="[144]>"+left$(w$,4)+"<":cz$(.)="[151]":cz$(1)="":cz$(2)="[149]"
  99. 99 i$(.)=left$(b$,15):t$(.)=left$(b$,13)
  100. 100 def fncp(x)=fc*d(cd)+(cl+d(x)):def fnsw(x)=(tgl-csm)
  101. 101 def fnte(x)=(tl-cem):def fncm(x)=x*d(cd)+cl:def fnmp(x)=cem*256+1016+x
  102. 102 deffnj(x)=(g-(xandg)):deffnc(x)=(lf<k)*-t+(lf>kandlf<g)*-(f+h)
  103. 103 deffncd(x)=cd+(cd=f+u)*f+(cd=.)*-f:deffnjf(x)=((jyand(g+u))=.)
  104. 104 deffnh(a)=(ar+i(ar)*t+lf/k)
  105. 105 forx=.to15:b(x)=2^x:next
  106. 106 forx=.tode:readd:dl(x,.)=d:next:forx=.to15:reada:pokev+x,a:next
  107. 107 forx=1to13:read